package models; public interface BancProc { /** * Method for adding a new person * * @invariant isWellFormed() * @pre p != null && p.getName()!=null * @post getNumberOfPersons() == getNumberOfPersons()@pre + 1 * @post get(p) != null * @invariant isWellFormed() * @param p * Person to be added */ public void addPerson(Person p); /** * Method for deleting a person * * @invariant isWellFormed() * @pre getNumberOfPersons()!=0 * @pre p != null && p.getId() != null; * @pre containsKey(p) * @post !containsKey(p) * @post getNumberOfPersons() == getNumberOfPersons()@pre - 1 * @invariant isWellFormed() * @param p * The person to be deleted */ public void deletePerson(Person p); /** * Method for adding a new account * * @invariant isWellFormed() * @pre a != null && p!= null * @post (getNumberOfAccounts() != 0) && (getNumberOfAccounts() == * getNumberOfAccounts()@pre + 1) * @invariant isWellFormed() * @param a * The account to be added * @param p * The person whose account is added */ public void addAccountToHolder(Account a, Person p); /** * Method for deleting an account * * @invariant isWellFormed() * @pre getNumberOfPersonsHavingAccounts() != 0 && getNumberOfAccounts() != * 0 * @pre a != null && a.getP != null; * @post getNumberOfAccounts() == getNumberOfAccounts()@pre - 1 * @invariant isWellFormed() * @param a * Account to be deleted * @param p * The person whose account is deleted */ public void deleteAccountToHolder(Account a, Person p); public void generateReports(); }